package com.app.ryjy.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 单位规模枚举
 */
@AllArgsConstructor
@Getter
public enum UnitScaleEnum {
    // 3000人以上
    ABOVE_3000("3000人以上", 1, -1),
    // 1000-2999人
    BETWEEN_1000_2999("1000-2999人", 2, -1),
    // 500-999人
    BETWEEN_500_999("500-999人", 3, -1),
    // 100-499人
    BETWEEN_100_499("100-499人", 4, -1),
    // 10-99人
    BETWEEN_10_99("10-99人", 5, -1),
    // 10人以下
    BELOW_10("10人以下", 6, -1),
    // 3人以下
    BELOW_3("3人以下", 7, -1),
    // 其他
    OTHER("其他", 9, -1);

    private final String desc;
    private final int code;
    private final int bizCode;

    /**
     * 根据bizCode获取枚举项
     *
     * @param bizCode bizCode
     * @return 枚举项
     */
    public static UnitScaleEnum getByBizCode(int bizCode) {
        for (UnitScaleEnum scale : values()) {
            if (scale.getBizCode() == bizCode) {
                return scale;
            }
        }
        throw new IllegalArgumentException("No matching constant for [" + bizCode + "]");
    }

    public static void main(String[] args) {
        System.out.println(UnitScaleEnum.getByBizCode(1).getDesc());
    }
}